package util

type Ref[T interface{}] interface {
	 
}


type Ptr[T any] interface {
	*T
}

// 赋值或者函数调用
// primitive和struct 是值传递 
// slice,map,chan,interface,func() 是引用传递 (其中map,chan是基于指针的值传递,slice指针传递 interface,func()未知)

type Integer interface {
	~int | ~int8 | ~int16 | ~int32 | ~int64 |
	~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64
}

type Float interface {
	~float32 | ~float64
}

type Number interface {
	Integer | Float
}

type Boolean interface {
	~bool
}

type Stringable interface {
	Boolean | Number
}